package gruppoD;

import java.io.File;
import java.util.ArrayList;
import java.util.List;

import server.IHTTPServer;

public class TestServer implements IHTTPServer{
	private XML xml;
//	
//	public TestServer(XML xml) {
//		this.xml=xml;
//	}
//	
	
	public TestServer() {
		this.xml = new XML(new File("test.xml"));
	}
	
	/* TODO: 
	 * 
	 * pur essendo una buona scelta quella di utilizzare un componente 'xml' 
	 * per la gestione dei dati xml, è opportuno trovare il modo di separare le varie responsabilità
	 * (sintesi, elenco completo, etc.)in classi differenti. Questo è quello che avviene seguendo
	 * il design pattern Strategy
	 */
	@Override
	public ArrayList<String> elaboraRispostaHTTP(List<String> richiestaHTTP) {
		
		ArrayList<String> risposta=new ArrayList<String>();
		HTTPInterpreter interpreter=new HTTPInterpreter(richiestaHTTP);
		if(interpreter.getPath().compareToIgnoreCase("/inserisci")==0){
			xml.addParams(interpreter.getParameters());
			risposta=new HTMLReader().htmlToString("HtppServer/web/inserimentoRiuscito.html");
		}else if(interpreter.getPath().compareToIgnoreCase("/uscite")==0){
			xml.elencoCompleto();
			//risposta=xml.elencoCompleto();
		}else if(interpreter.getPath().compareToIgnoreCase("/sintesi")==0){
			xml.sintesi();
			//risposta=xml.sintesi();
		}else{
			risposta=new HTMLReader().htmlToString(interpreter.getPath());
		}
		System.out.println(risposta);
		return risposta;
	}
}
